Если объект может быть преобразован в последовательную форму (сохранен на диск), тогда значение отличное от нуля, иначе ноль.
BOOL IsSerializable( ) const;
Для того, чтобы класс мог быть преобразован в последовательную форму в объявлении класса должно быть объявлено DECLARE_SERIAL, а в реализации IMPLEMENT_SERIAL смотрим пример:
#include "stdafx.h"
#include "afxwin.h"
#include "iostream.h"
class CMyObject : public CObject
{
protected:
DECLARE_DYNCREATE(CMyObject)
};
IMPLEMENT_DYNCREATE(CMyObject,CObject);
class CAlternativeObject : public CObject
{
protected:
DECLARE_SERIAL(CAlternativeObject);
};
IMPLEMENT_SERIAL(CAlternativeObject,CObject,1);
void CreateAllObject(CRuntimeClass* pClass);
void main()
{
CMyObject cm;
CAlternativeObject ca;
if (cm.IsSerializable())
cout << "CMyObject serialize" << endl;
if (ca.IsSerializable())
cout << "CAlternativeObject serialize" << endl;
}
В классе CAlternativeObject объявлен механизм сохранения и восстановления объекта с помощью макросов, поэтому IsSerializable и даем возможность нам вывести надпись.